package com.lg.java.design;

/**
 * 多线程使用的是 同一个 对象
 *
 * 懒汉模式
 *  dcl  + volatile(防止指令重排序)
 *  静态内部类
 * 
 */
public class Hoon1 {

    private volatile static Hoon1 hoon1 = null;

    private Hoon1(){

    }

    public static Hoon1 getInstance(){
        if (hoon1 == null) {
            synchronized (Hoon1.class) {
                if (hoon1 == null) {
                    hoon1 = new Hoon1();
                }
            }
        }
        return hoon1;
    }

}
